Movies, music, and other forms of media content are provided to computing devices over the Internet from a variety of content providers. For a number of reasons, some of this content is protected in which a license that at least identifies various rights to use, play, copy, and/or distribute the associated media content is required. Other protections may include various levels or types of encryption protection that may necessitate a key in order to decrypt the media content.
Moreover, a limit may be placed on the number of concurrent streaming connections that a particular user is allowed to establish. That is, the number of devices, which are each authenticated with the same user account, on which media content can be simultaneously streamed and watched can be limited (e.g., two total connections per user account, three connections per user account across four devices, etc.). To enforce such a limit, when a user requests a new streaming connection, the number of currently established streaming connections associated with that user is detected and, if that number exceeds the maximum number of allowed concurrent streaming connections, then the request for the new streaming connection can be denied. Managing the enforcement of policies including this limit is a difficult task.
Various approaches attempt to address the issue of concurrency limit enforcement by requiring that a client device associated with the particular user transmit a message to a server when the particular user has stopped watching a piece of media content. However, such approaches can constrain client implementation and device architecture and can require persistent storage on the client device. That is, these approaches place the dependency of concurrently limit enforcement on each and every client device. In addition, these approaches are generally considered to be not reliable because the client device can stop playback in a “disorderly” manner due to device failure (crash), power failure, network failure, etc.
Accordingly, it is desirable to provide new systems, methods, and media for media session concurrency management with recurring license renewals.